پرش به مطلب اصلی

نقشه‌ی راه فنی

موضوعات به ترتیب اولویت به شرح زیر است:

حل مشکلات Log

حل کندی‌های ناشی از Lock و I/O در LogScope

علت اهمیت این موضوع نیاز مشتریان به پرفورمنس بالاست که به علت کندی لاگ ستاره اکثر مشتریان لاگ پرفورمنس را خاموش کرده‌اند.

امکان نوشتن Integration Test برای توسعه‌های جدید

نیاز است هم در سرویس‌های سی‌شارپی و هم در وب انگولاری امکان نوشتن Intgration Test فراهم شود تا.

علت اهمیت این موضوع این است که باگ‌ها به سرعت کشف شوند و اگر باگی را رفع کردیم برای همیشه از بروز مجدد آن باگ جلوگیری شود.

مهاجرت به ASP.NET LifeTime

برای این که امکان نوشتن Integration Test فراهم شود در سمت سرویس‌های سی‌شارپی نیاز است که به LifeTimeی که ASP.NET ارائه می‌دهد مهاجرت کنیم تا بتوانیم از امکانات WebApplicationFactory استفاده کنیم.

اجرای اتوماتیک تست‌های Integration حداقل با فرکانس یک بار در روز

تست‌ها باید به صورت مرتب اجرا شوند تا چرخه‌ی فیدبک کوتاه شود و نیاز به تست دستی کاهش یابد.

اجرای اتوماتیک تست‌های پرفورمنس

برای قسمت‌هایی که پرفورمنس اهمیت بالایی دارد مثلاً ESB و لود لیست سناریوها در محصول DIA باید تست‌های فشار توسعه داده شود و این تست‌ها هر شب به صورت اتوماتیک اجرا شوند و در صورت افت پرفورمنس به توسعه‌دهندگان هشدار داده شود. اهمیت آن این است که از افت پرفورمنس جلوگیری شود.

استفاده از ابزارهای اتوماتیک برای بررسی کدها

  • استفاده از ابزارهای AI در Code Review هنگام بررسی Pull Request
  • استفاده از Assistantهای که با IDEها Integrate می‌شوند.

انباشت و اشتراک دانش

برای کارهای پرتکرار که افراد مختلف در بازه‌های زمانی مختلف درگیر آن‌ها خواهند بود مستندات نوشته شود و روال‌ها و ساختارهای مناسب آن ایجاد گردد.

  • مستندسازی نحوه‌ی دیباگ مشکلات پرفورمنسی
  • مستندسازی روال‌های SRE
  • مستندسازی نحوه‌ی راه‌اندازی محیط Development محصولات ستاره
  • مستندسازی نحوه‌ی دیپلوی یک سرویس جدید
  • چک لیست آنبوردینگ نفرات Mid-level و Senior
  • مستندسازی علت تصمیم‌های فنی و معماری
  • تعیین Style Guideها و مستند شدن آن‌ها

Continuous Delivery

  • فرهنگ Continuous Integration

    • هر روز مرج شدن فیچر برنچ‌ها
    • فرهنگ استفاده از فیچر فلگ و حفظ Backward Compatibility
  • Integration Testing

    • آموزش نحوه‌ی نوشتن Integration Test به اعضای تیم‌ها
  • Central Configuration Management

    • استفاده از ابزارهای استاندارد کانفیگ مرکزی در سرویس‌ها
  • بهبود سرعت بیلدها برای کوتاه کردن چرخه‌ی فیدبک

هم‌چنین علاوه بر موارد بالا خوب است که موارد زیر را هم داشته باشیم: